Amazon Aurora/MariaDB/MySQLの違いを整理してみる #reinvent
日本にいます西澤です。ついに東京リージョンにやってきたAuroraに加えて、MariaDBもRDSで利用が可能となりました!ちょっと選択肢が増えすぎて違いがわからなくなってきたので、情報を整理してみたいと思います。
Specify DB Details
Launch時に指定する項目から、違いがあるところだけ整理していきます。Aurora、MariaDBもt2インスタンス等で検証ができるようになると良いですね。特筆すべきは、Auroraの可用性(自動復旧するし、ディスクは自動拡張!)です。
DB Engine | Amazon Aurora | MariaDB | MySQL | 備考 |
DB Engine Version | - | 10.0.17 |
|
AuroraはMySQL5.6互換 |
DB Instance Class |
|
|
|
MySQLは最新インスタンスタイプのみ記載 |
Multi-AZ Deployment |
|
|
|
Auroraは明示的にMulti-AZ指定なしでも自動復旧する※ |
Storage | - |
|
|
Auroraは管理不要で自動拡張するSSD |
Configure Advanced Settings
Auroraの特徴ばかりが目立ちます。AuroraはDB Clusterで可用性が担保されます。デフォルトで選択されるBackup Retention PeriodがAuroraだけ7日ではなく1日となっていますが、変更は同じようにできるようでした。
DB Engine | Amazon Aurora | MariaDB | MySQL | 備考 |
DB Cluster Identifier | クラスタ名 | - | - | AuroraではRDSインスタンスを管理するDBクラスタを作成される |
DB Cluster Parameter Group | 任意 | - | - | DBクラスタ管理用のパラメータグループ |
Copy Tags To Snapshots | - | true/false | true/false | Auroraではまだサポートされていない模様(API経由は未確認) |
Enable Encryption | - | true/false | true/false | Auroraでは未サポート(通信はAES-256で暗号化される)※ |
オンデマンドのインスタンス料金
いずれのDB Engineでも利用できるdb.r3.largeで、且つAuroraはプライマリとレプリカがセットでクラスタ起動するとして、他のRDSはMulti-AZと比較してみます。RDSインスタンス料金は東京リージョンのものです。ストレージ利用料金は現時点で公式ページの更新が追いついていないようなので割愛。
DB Engine | Amazon Aurora
(プライマリ+リードレプリカ) |
MariaDB
Multi-AZ |
MySQL
Multi-AZ |
備考 |
オンデマンド db.r3.large | $0.70/h | $0.570/h | $0.570/h | Auroraは2インスタンス分の料金 |
- Auroraは、遅延なしリードレプリカとしても使えて、自動Failover先にもなるので、Muliti-AZよりも断然高機能
- Amazon RDS料金
まとめ
RDSとしてのMariaDBは、料金もパラメータもMySQLとほぼ同じように使うことができますね(違いは選べるインスタンスタイプが少ないところだけ)。Auroraは特性をよく理解して使う必要があるということが、整理してみることでよく理解できました。Auroraは起動時のバックアップが作成されないところなんかも動作が異なりました。新しいサービスはやはりまず触ってみないとダメですね。